When the user interface of a piece of software undergoes significant change, all automated and manual tests must be maintained.
Some automated test tools, such as IBM Rational Robot, support the notion of subroutines; and others, such as IBM Rational Functional Tester, support Object Oriented concepts. However, the majority of software testers in the Enterprise IT marketplace are non-programmers who author their test content in-line, with significant duplication of steps.